import preutils from './preutils.js'
import utils from './utils.js'
export default {
	isLogin() {
		var loginToken = uni.getStorageSync(preutils.loginToken);
		if (loginToken == undefined) {
			return false;
		}
		if (loginToken.length <= 0) {
			return false;
		}
		return true;
	},

	isNull(obj, type) {
		if (type == 'str') {
			if (obj == undefined) {
				return true;
			}
			if (obj === undefined) {
				return true;
			}
			if (!obj) {
				return true;
			}
			if (obj.length <= 0) {
				return true;
			}
			if (obj === '' || obj.trim().length === 0) {
				return true;
			}
		} else if (type == 'obj') {
			//1.2 判断空对象{}
			// 使用for... in 遍历,hasOwnProperty()方法,遍历自身存在的属性  如果没有自身属性,返回为true
			for (let key in obj) {
				if (obj.hasOwnProperty(key)) {
					return false
				}
			}
			return true

		} else if (type == 'arr') {
			//2. 判断空数组   (arr instanceof Array && arr.length === 0)
			// 直接判断 [] 不准确 可以判断数组的长度length      
			if (obj instanceof Array && obj.length === 0) { //判断是数组类型,且长度为0
				return true
			}
		} else if (type == 'number') {
			// 4.判断数字类型 0 或者NaN    (!Number(number) && number) === true
			if (!(Number(obj) && obj) === true) {
				return true
			}
		} else {
			if (obj == 'undefined') {
				return true;
			}
			if (obj == undefined) {
				return true;
			}
			if (obj === undefined) {
				return true;
			}
			if (!obj) {
				return true;
			}
			if (obj.length <= 0) {
				return true;
			}
			// if (obj === '' || obj.trim().length === 0) {
			// 	return true;
			// }
			if (obj === '') {
				return true;
			}
		}

		return false;
	},

	validateRole() {
		var userType = uni.getStorageSync(preutils.userType);
		if (this.isNull(userType)) {
			userType = '1'
			uni.setStorageSync(preutils.userType, userType);
		}
		return userType;
	},

	encryptMobile(e) {
		var mobile = e.substr(0, 3) + '****' + e.substr(7);
		return mobile;
	},


	// obj原始数据；将 undefined、'' 替换为str值
	strNullReplace(obj, str) {
		if (obj == "undefined") {
			return str;
		}
		if (obj == undefined) {
			return str;
		}
		if (obj === undefined) {
			return str;
		}
		if (!obj) {
			return str;
		}
		if (obj.length <= 0) {
			return str;
		}
		// if (obj === "" || obj.trim().length === 0) {
		//   return str;
		// }
		if (obj === "") {
			return str;
		}
		return obj;
	},
	// obj原始数据；type是否为'xx'；将'xx'替换为str值
	stringReplace(obj, type, str) {
		if (this.isNull(obj)) {
			if (obj == type) {
				return str;
			} else {
				return "";
			}
		} else {
			if (obj == type) {
				return str;
			}
		}
		return obj;
	},

	//手机号验证
	phone_check(rule, value, sub) {
		if (!value) {
			if (this.isNull(sub)) {
				utils.showToastErr('请输入' + rule + '电话')
			} else {
				utils.showToastErr(sub)
			}
			return false
		} else {
			const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
			if (reg.test(value)) {
				return true
			} else {
				if (this.isNull(sub)) {
					utils.showToastErr('请输入正确的' + rule + '电话')
				} else {
					utils.showToastErr(sub)
				}
				return false
			}

		}
	},
	// 验证金额 (^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)
	check_amount(rule, value, sub) {
		if (value === '') {
			if (this.isNull(sub)) {
				utils.showToastErr('请输入' + rule)
			} else {
				utils.showToastErr(sub)
			}
			return false
		} else if (!/(^[1-9]([0-9]+)?(\.[0-9]{1,3})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {
			var title = '';
			if (rule != '') {
				title = '请输入' + rule + ',不能小于0，最多只可保留3位小数';
			} else {
				title = '请输入金额,不能小于0，最多只可保留3位小数';
			}
			if (this.isNull(sub)) {
				utils.showToastErr(title)
			} else {
				utils.showToastErr(sub)
			}
			return false
		} else {
			return true
		}
	}

}